﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;

/// <summary>
/// 背包槽
/// </summary>
public class KnapsackSlot : ArticleSlot, IPointerClickHandler {

	// Use this for initialization
	void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {
		
	}

    /// <summary>
    /// 鼠标点击，拿出物品
    /// 如果是鼠标左键点击
    ///     如果拿起了物品，则放下
    ///     如果没有拿起物品，则拿起
    /// 如果是鼠标右键点击
    ///     如果拿起了物品，则不作处理
    ///     如果没有拿起物品，则装备物品
    /// </summary>
    /// <param name="eventData"></param>
    public void OnPointerClick(PointerEventData eventData) {
        ArticleManager articleManager = ArticleManager.Instance;
        if (eventData.button == PointerEventData.InputButton.Left) { // 鼠标左键
            if (articleManager.IsPickUp) { // 如果拿起了物品
                articleManager.PutDown(this);
            } else { // 没有拿起物品
                if (Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl)) { // 按下ctrl键，则拿取一半物品
                    articleManager.PickUpHalf(this);
                } else { // 拿取所有物品
                    articleManager.PickUpALL(this);
                }
            }
        } else if (eventData.button == PointerEventData.InputButton.Right) { // 鼠标右键
            if (articleManager.IsPickUp) { // 如果拿起了物品
                // 不作处理
            } else { // 没有拿起物品
                if (this.IsNotEmpty()) { // 如果有物品
                    articleManager.UseArticle(this.ArticleItem);
                    articleManager.RefreshToolTip();
                }
            }
        }
    }
}
